package cn.momoshenchi.medicine.pojo;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 医生表
 * @TableName base_doctor
 */
@TableName(value ="base_doctor")
public class BaseDoctor implements Serializable {
    /**
     * 医生id
     */
    @TableId
    private String doctorId;

    /**
     * 医生姓名
     */
    private String doctorName;

    /**
     * 机构id
     */
    private String orgId;

    /**
     * 机构名称
     */
    private String orgName;

    /**
     * 科室id
     */
    private String deptId;

    /**
     * 科室名称
     */
    private String deptName;

    /**
     * 医生头像链接
     */
    private String avatarUrl;

    /**
     * 医生职称，1主任医师，2副主任医师，3主治医师，4医师，5医士
     */
    private String levelCode;

    /**
     * 医生职称，1主任医师，2副主任医师，3主治医师，4医师，5医士
     */
    private String levelName;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 医生id
     */
    public String getDoctorId() {
        return doctorId;
    }

    /**
     * 医生id
     */
    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }

    /**
     * 医生姓名
     */
    public String getDoctorName() {
        return doctorName;
    }

    /**
     * 医生姓名
     */
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    public Date getCreateTime()
    {
        return createTime;
    }

    public void setCreateTime(Date createTime)
    {
        this.createTime = createTime;
    }

    /**
     * 机构id
     */
    public String getOrgId() {
        return orgId;
    }

    /**
     * 机构id
     */
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    /**
     * 机构名称
     */
    public String getOrgName() {
        return orgName;
    }

    /**
     * 机构名称
     */
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }

    /**
     * 科室id
     */
    public String getDeptId() {
        return deptId;
    }

    /**
     * 科室id
     */
    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    /**
     * 科室名称
     */
    public String getDeptName() {
        return deptName;
    }

    /**
     * 科室名称
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /**
     * 医生头像链接
     */
    public String getAvatarUrl() {
        return avatarUrl;
    }

    /**
     * 医生头像链接
     */
    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    /**
     * 医生职称，1主任医师，2副主任医师，3主治医师，4医师，5医士
     */
    public String getLevelCode() {
        return levelCode;
    }

    /**
     * 医生职称，1主任医师，2副主任医师，3主治医师，4医师，5医士
     */
    public void setLevelCode(String levelCode) {
        this.levelCode = levelCode;
    }

    /**
     * 医生职称，1主任医师，2副主任医师，3主治医师，4医师，5医士
     */
    public String getLevelName() {
        return levelName;
    }

    /**
     * 医生职称，1主任医师，2副主任医师，3主治医师，4医师，5医士
     */
    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        BaseDoctor other = (BaseDoctor) that;
        return (this.getDoctorId() == null ? other.getDoctorId() == null : this.getDoctorId().equals(other.getDoctorId()))
            && (this.getDoctorName() == null ? other.getDoctorName() == null : this.getDoctorName().equals(other.getDoctorName()))
            && (this.getOrgId() == null ? other.getOrgId() == null : this.getOrgId().equals(other.getOrgId()))
            && (this.getOrgName() == null ? other.getOrgName() == null : this.getOrgName().equals(other.getOrgName()))
            && (this.getDeptId() == null ? other.getDeptId() == null : this.getDeptId().equals(other.getDeptId()))
            && (this.getDeptName() == null ? other.getDeptName() == null : this.getDeptName().equals(other.getDeptName()))
            && (this.getAvatarUrl() == null ? other.getAvatarUrl() == null : this.getAvatarUrl().equals(other.getAvatarUrl()))
            && (this.getLevelCode() == null ? other.getLevelCode() == null : this.getLevelCode().equals(other.getLevelCode()))
            && (this.getLevelName() == null ? other.getLevelName() == null : this.getLevelName().equals(other.getLevelName()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getDoctorId() == null) ? 0 : getDoctorId().hashCode());
        result = prime * result + ((getDoctorName() == null) ? 0 : getDoctorName().hashCode());
        result = prime * result + ((getOrgId() == null) ? 0 : getOrgId().hashCode());
        result = prime * result + ((getOrgName() == null) ? 0 : getOrgName().hashCode());
        result = prime * result + ((getDeptId() == null) ? 0 : getDeptId().hashCode());
        result = prime * result + ((getDeptName() == null) ? 0 : getDeptName().hashCode());
        result = prime * result + ((getAvatarUrl() == null) ? 0 : getAvatarUrl().hashCode());
        result = prime * result + ((getLevelCode() == null) ? 0 : getLevelCode().hashCode());
        result = prime * result + ((getLevelName() == null) ? 0 : getLevelName().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", doctorId=").append(doctorId);
        sb.append(", doctorName=").append(doctorName);
        sb.append(", orgId=").append(orgId);
        sb.append(", orgName=").append(orgName);
        sb.append(", deptId=").append(deptId);
        sb.append(", deptName=").append(deptName);
        sb.append(", avatarUrl=").append(avatarUrl);
        sb.append(", levelCode=").append(levelCode);
        sb.append(", levelName=").append(levelName);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}